//app.js
App({
  onLaunch: function () {
    // 登录
    wx.login({
      success: res => {
        // 如果本地没有储存openID，再发送请求获取
        let userInfo = wx.getStorageSync('userInfo')
        if (!userInfo.openId) {
          // 发送 res.code 到后台换取 openId, sessionKey, unionId
          wx.showLoading({
            title: '连接服务器',
            mask: true
          })
          wx.request({
            url: 'https://wenye123.com/others/getOpenId',
            method: 'POST',
            data: { code: res.code },
            success: res => {
              wx.hideLoading()
              if (res.data.status === 'ok') {
                console.log('获取openID成功')
                // 写进本地存储
                var userInfo = wx.getStorageSync('userInfo') || {}
                userInfo.openId = res.data.data.openid
                wx.setStorageSync('userInfo', userInfo)
              } else {
                console.log('获取openID失败，请退出重进')
              }
            }
          })
        } else {
          console.log(userInfo)
        }
      }
    })
    // 获取用户信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
          wx.getUserInfo({
            success: res => {
              // 可以将 res 发送给后台解码出 unionId
              this.globalData.userInfo = res.userInfo

              // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            }
          })
        }
      }
    })
  },
  globalData: {
    userInfo: null
  }
})